I. Field of the Invention
The present invention relates to a method and system for allocating software resources in a multiuser system.
II. Description of Related Art
When conducting a computational task on a multiuser system, such as a cluster or cloud server, oftentimes many processes must run simultaneously. Each process, furthermore, usually requires a copy of a particular software so that it can execute such a process. For example, in a multiuser system involving automotive modeling, a single computational process may require use of a copy of several different software resources.
Furthermore, in order to execute certain tasks, it is often necessary to use several copies of the same software resource. For example, in the automotive industry a fairly complex simulation may require multiple copies of several different software resources.
Currently, virtualization technology in the computer industry allows several servers to migrate into virtual machines and be consolidated into one physical server. However, the requirement for software does not change. Instead, each virtual machine still needs a valid copy of each software resource which is necessary to execute each task.
There have been previously known attempts to locate and allocate different software resources in a network. However, these previously known systems all assume that the amount of hardware and software resources was unlimited. However, no service provider can actually provide unlimited software resources for many reasons, including economic reasons. Furthermore, none of these previously known allocation systems have made any attempt to consolidate software resources required by the particular task thus resulting in inefficient use of the software resources.